package pers.xx.sbm.service;

import pers.xx.sbm.vo.ResResult;

/**
 * @author ：xiexing
 * @description：TODO
 * @date ：2020/8/12 22:20
 */
public interface BaseService<T> {

    /**
     * @description 根据id删除
     * @author XieXing
     * @date 2020/8/17 14:26
     */
    ResResult deleteByPrimaryKey(Integer id);

    /**
     * @description 全对象保存
     * @author XieXing
     * @date 2020/8/17 14:26
     */
    ResResult insert(T record);

    /**
     * @description 保存对象部分信息
     * @author XieXing
     * @date 2020/8/17 14:27
     */
    ResResult insertSelective(T record);

    /**
     * @description 根据id查询
     * @author XieXing
     * @date 2020/8/17 14:30
     */
    T selectByPrimaryKey(Integer id);

    /**
     * @description 查询数据列表
     * @author XieXing
     * @date 2020/10/12 14:18
     */
    ResResult<T> selectSelective(T Record);

    /**
     * @description 根据条件更新对象
     * @author XieXing
     * @date 2020/8/17 14:30
     */
    ResResult updateByPrimaryKeySelective(T record);

    /**
     * @description 根据id更新对象
     * @author XieXing
     * @date 2020/8/17 14:30
     */
    ResResult updateByPrimaryKey(T record);

    /**
     * @description 分页获取数据
     * @author XieXing
     * @date 2020/8/12 22:21
     */
    ResResult listByPage(T t, Integer page, Integer limit);


    /**
     * @description 更新数据状态信息
     * @author XieXing
     * @date 2020/8/17 23:05
     */
    ResResult updateDataStatus(Integer id, Integer status);


}
